/* $Id: Parsers.java 97 2010-11-12 14:09:47Z altdotua@gmail.com $ */

package alt.djudge.frontend.server.utils;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Parsers
{
	public static int parseInteger(String str)
	{
		return parseInteger(str, 0);
	}
	
	public static int parseInteger(String str, Integer defaultValue)
	{
		try
		{
			return Integer.parseInt(str);
		}
		catch (Exception e)
		{
			return defaultValue;
		}
	}
	
	public static long parseLong(String str)
	{
		return parseLong(str, 0);
	}
	
	public static long parseLong(String str, Integer defaultValue)
	{
		try
		{
			return Long.parseLong(str);
		}
		catch (Exception e)
		{
			return defaultValue;
		}
	}	
	
	public static boolean parseBoolean(String str)
	{
		return parseBoolean(str, false);
	}
	
	public static boolean parseBoolean(String str, Boolean defaultValue)
	{
		try
		{
			return Boolean.parseBoolean(str);
		}
		catch (Exception e)
		{
			return defaultValue;
		}
	}
	
	public static Date parseDate(String str)
	{
		/*int k = str.lastIndexOf('.');
		if (k >= 0)
			str = str.substring(0, k);
		return new Date(str);*/
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try
		{
			return df.parse(str);           
		}
		catch (ParseException e)
		{
			e.printStackTrace();
		}
		return new Date();
	}
}
